package com.catazzz.springbootstudy;

import lombok.extern.slf4j.Slf4j;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
//import org.springframework.data.jpa.repository.config.EnableJpaAuditing;

// @EnableJpaAuditing 注解用于启用 JPA 的审计功能，用于记录实体的创建时间和更新时间。  - jpa 的审计功能
// @MapperScan("com.catazzz.springbootstudy.mapper") - 用于指定 MyBatis Mapper 接口所在的包路径。
//      MyBatis会自动扫描该包及其子包中的所有Mapper接口，并将它们注册为Spring的Bean


// @SpringBootApplication 是 Spring Boot 的核心注解，它是一个组合注解，包含了以下三个注解的功能：
// 1. @Configuration：将该类标记为配置类，允许在其中定义 Bean。
// 2. @EnableAutoConfiguration：启用 Spring Boot 的自动配置机制，根据类路径中的依赖自动配置应用程序。
// 3. @ComponentScan：启用组件扫描，自动发现并注册带有 @Component、@Service、@Repository 等注解的类为 Spring 容器中的 Bean
//@EnableJpaAuditing
@Slf4j
@MapperScan("com.catazzz.springbootstudy.mapper")
@SpringBootApplication
public class SpringBootStudyApplication {

    /**
     * 程序的主入口方法
     * 通过调用Spring Boot的run方法来启动应用程序
     *
     */
    public static void main(String[] args) {
        log.info("应用程序启动成功");
        SpringApplication.run(SpringBootStudyApplication.class, args);
    }

}
